package com.sugon.modules.analyse.model.vo;

import com.sugon.modules.analyse.model.dto.DevAlarmTimeTopStatItemDTO;
import lombok.Data;
import lombok.NoArgsConstructor;

import java.io.Serializable;
import java.util.ArrayList;
import java.util.List;

/**
 * @description: 设备报警时间TOP统计VO
 * @author: YuXD
 * @create: 2020-05-24 17:05
 **/
@NoArgsConstructor
@Data
public class DevAlarmTimeTopStatVO implements Serializable {

    /**
     * 设备Code
     */
    private String devCode;

    /**
     * 设备名称
     */
    private String devName;

    /**
     * 工序名称
     */
    private String stationName;

    /**
     * 供应厂商名称
     */
    private String faName;

    /**
     * 设备报警阈值，超过这个后标红
     */
    private Long thresholdValue;

    /**
     * 报警时长
     */
    private Long alarmDuration;

    /**
     * 设备报警明细列表
     */
    private List<DevAlarmTimeTopStatItemVO> alarmItems;

    public DevAlarmTimeTopStatVO(DevAlarmTimeTopStatItemDTO topStatItem) {
        this.devCode = topStatItem.getDevCode();
        this.devName = topStatItem.getDevName();
        this.faName = topStatItem.getFaName();
        this.stationName = topStatItem.getDevProceName();
        this.alarmDuration = 0L;
        this.alarmItems = new ArrayList<>();
    }

    public Long getThresholdValue() {
        return thresholdValue == null ? 0 : thresholdValue;
    }
}
